#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //加载数据库驱动
    database = new MyDatabase("user.db","user");
    //定义一个创建表格的SQL语句
    QString str = "create table IF NOT EXISTS user(\
            id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\
            name varchar(255),\
            pwd varchar(255)\
       )";
    //执行一个SQL语句
    database->execSql(str);

    //创建一个注册界面
    loginwidget = new login(database);
    //用户密码框
    ui->userEdit->setPlaceholderText("请输入用户名");
    ui->pwdEdit->setPlaceholderText("请输入密码");

    ui->comboBox->setCurrentText("更多选项");
    // connect(,SIGNAL(loginwidget.close()()),this,mainwindowShow(this));

    //创建一个游戏界面
    menuwidget = new game();
}

void MainWindow::on_comboBox_currentTextChanged(const QString &arg1)
{
    if(arg1 == "注册账号")
    {
        // this->hide();
        loginwidget->show();
        // mainwindowShow(this);
    }
    else if(arg1 == "忘记密码")
    {
        QMessageBox::about(loginwidget,"提示","功能暂未完善");
    }
}

// void MainWindow::mainwindowShow(MainWindow * arg)
// {
//     arg->show();
// }

//登录按钮
void MainWindow::on_pushButton_clicked()
{
    //获得用户输入的用户名和密码
    QString name = ui->userEdit->text();
    QString pwd = ui->pwdEdit->text();

    QString sql = QString("select * from user where name = '%1' and pwd = '%2'").arg(name).arg(pwd);
    //执行查询操作(增删改查...)
    QSqlQuery * query = this->database->execSql(sql);
    //next函数一共做了三件事情
    //1.返回当前位置是否有记录
    //2.next会把当前记录保存起来，可以通过value函数返回
    //3.把当前检索的位置移动到下一条记录上
    if(query->next()==false)
    {
        QMessageBox::about(this,"提示","登录失败了");
    }
    else
    {
        QMessageBox::about(this,"提示","登录成功了");
        menuwidget->show();
    }

}

MainWindow::~MainWindow()
{
    delete ui;
}

